<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript">
    //JSON就是一个特殊格式的字符串，这个字符串可以被任意的语言所识别
    //并且可以转换为任意语言中的对象
    //JSON Javascript Object Notation JS对象表示法
    //JSON和JS对象的格式一样，只不过JSON字符串中的属性名必须加双引号
    //其他的和JS语法一样
    //JSON对象分类
    //1.对象{} 2.数组[]
    //JSON允许的值
    //1.字符串 2.数值 3.布尔值 4.空值（null） 5.数组 6.对象

    //JS中的对象只有JS自己认识，其他的语言都不认识
    //如何把这个JS对象传给他人
    //创建一个对
    /*
    var obj={"name":"孙悟空","age":18,"gender":"男"};//属性名name也可以不加引号，不影响运行
    console.log(obj);
    console.log(obj.name)
    */

    //创建一个JSON对象
    var obj='{"name":"孙悟空","age":18,"gender":"男"}';//把obj对象转换成字符串，这就是JSON
    console.log(obj);
    //创建一个JSON数组
    var arr='[1,2,3,4,5,6,7,8,9]';
    console.log(arr);
    //创建一个JSON对象，里面有一个数组
    var obj2='{"arr":[1,2,3,4]}';
    console.log(obj2);
    //创建一个数组，里面一个元素对应一个对象
    var arr2='[{"name":"孙悟空","age":18,"gender":"男"},{"name":"孙悟空","age":18,"gender":"男"}]'
    console.log(arr2);

    //将JSON字符串转换为JS中的对象
    //在JS中，为我们提供了一个工具类，就叫JSON
    //console.log(JSON);
    //首先创建一个JSON对象
    var json='{"name":"孙悟空","age":18,"gender":"男"}';
    //把JSON转换为JS
    //JSON.parse();
    //可以将JSON字符串转换为js对象
    //他需要一个JSON字符串作为参数，会将该字符串转换为JS对象
    var js=JSON.parse(json);
    //把JSON数组转换为JS数组
    var jsArr=JSON.parse(arr);
    console.log(json);
    console.log(js);
    console.log(js.name);
    console.log(jsArr);//控制台也正常输出arr数组
    //控制台会输出相关属性和对象，json已经被转换为js对象

    var obj3={name:"猪八戒",age:28,gender:"男"};
    //JS对象转换为JSON
    //JSON.stringify()
    //可以讲一个JS对象转换为JSON字符串
    //需要一个JS对象作为参数，会返回一个JSON字符串
    var jsonObj3=JSON.stringify(obj3);
    console.log(jsonObj3);//控制台显示obj3被成功转换为JSON字符串
    </script>
</head>
<body>
    
</body>
</html>